Crate fyrox_core

source ·
Expand description

Core data structures and algorithms used throughout Fyrox.

Some of them can be useful separately outside the engine.

Re-exports§

Modules§

  • Simple logger, it writes in file and in console at the same time.
  • A generational arena - a contiguous growable array type which allows removing from the middle without shifting and therefore without invalidating other indices.
  • Built-in scoped profiler. You must compile with feature “enable_profiler” to force profiler gather info! It is disabled by default because it is not cheap and takes 3-5% of performance for internal needs.
  • Rectangle packer is used to pack set of smaller rectangles into one big, it used in texture atlas packer.
  • Runtime reflection
  • Immutable string + immutable string storage. See docs of ImmutableString and ImmutableStringStorage for more info.
  • A wrapper for a variable that hold additional flag that tells that initial value was changed in runtime.
  • Visitor is a tree-based serializer/deserializer.
  • Resource watcher allows you to track changed resources and “tell” resource manager to reload them.

Macros§

Structs§

Traits§

Functions§

  • Appends specified extension to the path.
  • “Transmutes” array of any sized type to a slice of bytes.
  • Tries to find an entity by its name in a series of entities produced by an iterator.
  • Tries to find an entity by its name in a series of entities produced by an iterator.
  • Performs hashing of a sized value by interpreting it as raw memory.
  • Strip working directory from file name. The function may fail for one main reason - input path is not valid, does not exist, or there is some other issues with it.
  • Utility function that replaces back slashes \ to forward /. Internally, it converts the input path to string (lossy - see Path::to_string_lossy) and replaces the slashes in the string. Finally, it converts the string to the PathBuf and returns it. This method is intended to be used only for paths, that does not contain non-unicode characters.
  • Takes a vector of trivially-copyable values and turns it into a vector of bytes.
  • “Transmutes” value of any sized type to a slice of bytes.